package com.daxidi.cn.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.daxidi.cn.entity.Nonce;
import com.daxidi.cn.mapper.NonceMapper;
import com.daxidi.cn.service.INonceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 保存历史使用的nonce 每个nonce只能使用一次 服务实现类
 * </p>
 *
 * @author wsh
 * @since 2020-11-09
 */
@Service
public class NonceServiceImpl extends ServiceImpl<NonceMapper, Nonce> implements INonceService {
    @Autowired
    private NonceMapper nonceMapper;
    @Override
    public void addNonce(Nonce nonce) {
        nonceMapper.insert(nonce);
    }

    @Override
    public void deleteNonceById(Integer id) {
        QueryWrapper<Nonce> wrapper = new QueryWrapper<>();
        wrapper.eq("shop_id",id);
        nonceMapper.delete(wrapper);
    }

    @Override
    public void updateNonceById(Nonce nonce) {
        QueryWrapper<Nonce> wrapper = new QueryWrapper<>();
        wrapper.eq("shop_id",nonce.getShopId());
        nonceMapper.update(nonce,wrapper);
    }

    @Override
    public Map selectNoncesPage(Integer pageNum, Integer pageSize) {
        Page<Nonce> page = new Page<>(pageNum, pageSize);
        Page<Nonce> noncePage = nonceMapper.selectPage(page, null);
        List<Nonce> nonces = noncePage.getRecords();
        long total = noncePage.getTotal();
        Map map = new HashMap();
        map.put("data",nonces);
        map.put("count",total);
        return map;
    }
}
